home *** CD-ROM | disk | FTP | other *** search
/ OPUS 2 / Opus II - The Software.bin / About Opus ][ < prev    next >
Text File  |  2001-09-10  |  14KB  |  50 lines

  1. I've known and loved the Apple ][ for over two decades. I sold my only car, a fun little two seat convertible, to buy my first Apple ][ computer. So it's both with sadness and nostalgia that I type the introduction to what will surely be my last significant contribution to the Apple ][. It's been a good ride, though, and the fact that I won't be able to do more projects doesn't mean that any of us will stop enjoying this wonderful platform!
  2.  
  3. This opus is both a useful software collection and a history tour. It starts with Crypto, the first program ever published by the Byte Works. I did this product more to learn how to publish a program than out of any hope for commercial success, and I got what I expected.
  4.  
  5. ORCA/M started as a summer project in 1979. I couldn't find an assembler that was worth 2 cents, and a friend and mentor talked me into writing one of my own. Stupidly, I didn't see why the full-blown IBM 360 macro assembler would not work on an Apple ][, so I wrote one very much like it. That original version was published for DOS 3.3 by Hayden Software. It's ProDOS successor appears on this collection as II-03, and was the assembler Apple chose to become the standard development environment for the Apple IIGS. The Apple IIGS version is also on this CD as GS-04. In various versions it was published by us under the ORCA label and by Apple as APW (Apple Programmer's Workshop).
  6.  
  7. My educational background is in Physics, not computer science. For the youngsters in the crown, you need to keep in mind that, while it's not normal, it's also not uncommon for programmers in their 40's to have started in another field. Incredible as it seems, the Air Force Academy didn't even have a separate department for CS when I attended--it was lumped in with the Astronautics Department. Maybe it still is. In any case, my official training in CS amounts to a 3 semester hour course in introductory programming using Algol. Writing the assembler whetted my appetite, though, and I hit the books.
  8.  
  9. My first attempt at a compiler was an implementation of Pascal on the 8 bit Apple ][. It was a failure; it just wouldn't fit. I tried again on the Apple IIGS, creating ORCA/Pascal and then ORCA/C. While you will find some warts in both if you dig through the source, I'm still pretty proud of them. Considering the budget and number of people involved, I'm still rather amazed at what we accomplished.
  10.  
  11. To this day, I have never used an implementation of Pascal I like better. Some of the environments are better now, and the generated code is often quite good, but the implementation of the language itself is as good in ORCA/Pascal as it is anywhere. I'd stack it up against the offering from Metrowerks or Microsoft in a microsecond.
  12.  
  13. In all of my languages, I tried to observe existing standards or establish new ones, and I succeeded in ORCA/C to an extent that actually annoyed people! ORCA/C is so ANSI compatible that one member of the standards committee used it to vet programs that used common extensions that ORCA/C would flag as errors or choke on. Even I relented, though. By the release on this CD, you can use // comments and a few other common extensions, although you can also turn the extensions off if you want.
  14.  
  15. ORCA/M, ORCA/Pascal and ORCA/C formed the core for our development tools, but there were many additional products. ORCA/Modula-2 joined the list of full-blown languages. It is also the only language written by an outside author, Peter Easdown of Australia. Our biggest problem in bringing this product to market was not communication or logistics, but transferring royalties from US dollars to Australian dollars!
  16.  
  17. This collection of languages has one feature that is probably not unique, but I can't name another system that duplicates it. All of these languages share a common set of run-time libraries, not just a common environment. That doesn't just mean that they can coexist, although that in itself is pretty unusual. You can write a program that has parts written in each of the languages, and the program will work just fine. Parameters will be passed, arrays can be accessed across languages, records and structs are compatible, and so forth. The (possibly) unique part is that the libraries are really the same at the lowest level. You can begin printing some text in one language and finish printing in another--and it all works smoothly. And that's just one of the many examples of the libraries working together.
  18.  
  19. Other languages include Integer BASIC, a toy compiler I wrote to demonstrate how to install languages in ORCA; GSoft BASIC, a pretty cool BASIC interpreter that runs under either the ORCA environment or from the Finder; and two versions of Logo, one stand-alone and one that is a scripting language for HyperStudio. There is also one incomplete language on the source CD. Pilot is another toy language that I started to show people how to install interpreters under the ORCA environment. It's not complete, but it is far enough along to execute many Pilot programs. ORCA/C was also translated to run on MPW for use with the MPW IIGS cross development tools; that's the only Macintosh program you'll find on the CD.
  20.  
  21. We added several support products for the 8 bit version of ORCA/M, including Small-C, which is available for the first time in years on this CD; floating point libraries; a simple debugger; and the source code for the subroutine libraries. While open source is a fad today, making the source code for even the run-time libraries of a commercial product available for general sale was a pretty unusual move when we first did it, but we've done it with every product we ever released. In those days it was more common for a company to try to charge royalties for using the libraries in commercial programs!
  22.  
  23. Four of our programming add-ons for the Apple IIGS were created by outside authors. Design Master was, in it's day, a very cool precursor to today's RAD environments. ORCA/Disassembler was one of the few products that ever surprised me by selling far more copies than I expected. We did three or four print runs on that one. Talking Tools relies on a speech engine written by an outside company, and the support materials were written by Barbara Allred after she left the Byte Works. One of our most recent additions is Marinetti, an implementation of TCP/IP for the Apple IIGS, which we released as a Byte Works product so people would have a reliable place to come for the printed documentation. It's also available free online, of course.
  24.  
  25. ORCA/Debugger is a source-level debugger for high-level languages. There is another debugger in the desktop development environment, but it is limited to 640 mode graphics and desktop applications, NBAs, and text programs that are simple enough to use the shell window. I wanted a debugger that could debug anything. I'd been trying to get outside authors to write one for quite some time, and finally gave up and wrote my own. Within a few weeks, one of the aborted outside projects got going again, resulting in a competing debugger. Geeze, if they had let me know, I would have left the field clear for them! Anyway, the result was two debuggers, each basically strong products with their own strong and weak points.
  26.  
  27. Merlin was the clear favorite for assembly language programmers on the 8 bit Apple. We were fighting that market hold, eventually winning on the Apple IIGS. Merlin to ORCA was a source code translator that we used to help convert Merlin fans to the ORCA fold. Roger Wagner, publisher of Merlin and a future business partner, called me after it's release to point out what he considered a pun in a review: The title was "Merlin In, ORCA Out." I don't get it.
  28.  
  29. Merlin to ORCA was based on another source translator that we gave away free, so it never appeared in any literature. Edasm to ORCA translates from Apple's stock 8 bit assembler to ORCA/M. I wrote it in hopes of convincing Apple to switch to ORCA/M. I never dreamed how well it would work. At my first meeting with Apple to explore ideas that eventually led to APW, one of their project leaders brought up the point that they had a lot of source in Edasm that would be tough to convert. I think he was leading up to asking me to change the syntax of ORCA/M. Before he finished, I popped my briefcase open, pulled out the Edasm to ORCA disk, and slid it across the table to him. I told him it was a gift; the source code was there and they could do whatever they wanted with it. He grinned, and dropped the whole line of argument. Edasm to ORCA appears on the CD as well. By the time Merlin to ORCA came out, though, I'd realized one of the dirty little secrets of marketing: Most people won't attach any more value to a product than you do. If you give it away, they think it's worthless. We charged for Merlin to ORCA in part so people would take it seriously. As a result, it actually got the review Roger called me about.
  30.  
  31. Utility Pac #1 is a collection of shell utilities. It never sold well, so there was never a Utility Pac #2, although you'll find several cool utilities on the CD that would have been in that package had it ever been released. The lack of a market didn't stop us from developing several utilities for our own use! You'll find all but one that later became a built-in command on the software CD, and the source for all of them on the source CD at /Source/Bonus/Utilities.
  32.  
  33. Apple continued to create great additions to the System software as the Apple IIGS waned. I urged them to collect the material and create a fourth volume to the toolbox reference series. They declined, partly because Addison-Wesley was no longer interested and partly because some of the engineers didn't think the changes were extensive enough to justify a new volume. I convinced them to let me create the volume from tech notes, with Apple Engineers editing the final draft. The 468 page result convinced even the skeptics that there was enough material, so they let me do a 50 page addition for System 6.0.1. The result is Programmer's Reference for System 6.0 and 6.0.1, the volume that would have been Apple IIGS Toolbox Reference, Volume 4 if Addison Wesley had been interested.
  34.  
  35. One of our most significant contributions to Apple IIGS programming wasn't actually a development tool. Our series of programming courses gave Apple IIGS fans entry level books that were tailored to the Apple IIGS. As far as I know, the books in the Learn to Program series are the only entry level books created specifically for the Apple IIGS market. I'm not aware of any others that used a high-level language, and the assembly language books were really all transition books targeted at skilled 6502 programmers. The companion Toolbox Programming series is still the best way to learn the toolbox. Both are available for ORCA/Pascal and ORCA/C, and the learn to program course is also available for GSoft BASIC. All are on the CD. Even if you don't need the courses, the 11 disks of source code are a valuable reference. Many of my later programs started by copying the files from one of the toolbox examples into a folder and munging the source to fit the new design.
  36.  
  37. We were always known for our programming tools, but we made several forays into other markets, too. There is Byte Paint on the 8 bit Apple ][ side, which is partly a mouse driven paint program and partly an amper package for Applesoft programmers; and Voyager, a product that is like opera music: more satisfying for the author or performer than the audience. We tried the education market briefly on the Apple IIGS with the Ugly Duckling Talking Storybook, but McMillan showed up at the same AppleFest where we announced with a series of two similar programs. Who knows what would have happened if we'd been six months earlier.
  38.  
  39. Our last serious effort was the Quick Click programming series. Calc is a pretty cool graphing spreadsheet. Morph was an attempt to cash in on a trend in graphics software that was sweeping the computer world; it's actually a lot of fun to play with, but it is painfully slow on an Apple IIGS.
  40.  
  41. There was a third program in the series called Draw, which was intended as a simple CAD program like the one in AppleWorks GS. Had the market held up, the intent was to fill out the product line with paint, word processing and database programs, then tie them together with a multi-Finder-like switcher. Draw supports some pretty cool features, like the ability to rotate all of its objects to arbitrary angles. I was working on the printing commands, with just text, layers and libraries left when I started to talk about it online to make sure I wasn't missing any little tweaks that folks would really want. The basic message I got was, if it wasn't AutoCAD on the GS, forget it. I ended up canning the project a few weeks before completion. I still wonder from time to time if I should have finished the project.
  42.  
  43. You'll find a few other noncommercial creations on the source CD. There is a copy of the executables for the first version of APW, along with a GS version of Small-C and LINKED, the scripting linker we wrote for Apple. Apple insisted we write it in Small-C; the linker I later wrote for ORCA was in assembly language. There is also an electronic version of the Sky and Telescope planet finder, an SHR screen dump utility and a quick little debug break utility. Finally, you'll find one complete application. It's a program switcher written for System Disk 3.2, the very first one ever written. I was trying to find another publisher to release it because I knew by then that my expertise was in writing, not marketing. I thought I had a deal with two different companies, but both deals foundered. Incidentally, there were strong forces within Apple that disapproved of this program: They actually didn't want people to see this sort of application on the Apple IIGS!
  44.  
  45. So it's all here, pretty much everything I ever wrote or published on the Apple ][ that was worth saving and wasn't published by another company. It's been a lot of things for me, including a livelihood for a number of years, an education, and an avocation. I hope you get some enjoyment out of this collection. I certainly got a lot of enjoyment from creating it!
  46.  
  47. Mike Westerfield
  48. Albuquerque, New Mexico
  49. November 2000
  50.